Fast channel change via a mosaic channel

ABSTRACT

A fast channel change (FFC) system including a tuner arrangement to receive at least one transport stream including an aggregated video service (AVS) and TV channels, each video frame of the AVS including some video data of each channel, a demultiplexer arrangement to demultiplex a first channel and the AVS, a FCC buffer to buffer the video frames of the AVS, a decoder arrangement to decode the first channel, a controller to instruct the decoder arrangement to switch from decoding the first channel to decoding the AVS from the FCC buffer, and a graphic engine to extract the video data of a second channel from the AVS yielding a full-screen video, and output the full-screen video to a display device, wherein the controller is operative to instruct the decoder arrangement to switch from decoding the AVS to decoding the second channel. Related apparatus and methods are also described.

RELATED APPLICATION INFORMATION

The present application is a 35 USC §371 application ofPCT/IB2011/055900, filed on 22 Dec. 2011 and entitled “Fast ChannelChange via a Mosaic Channel”, which was published on 24 Jan. 2013 in theEnglish language with International Publication Number WO 2013/011359and which relies for priority on UK Patent Application 1112283.5 filed18 Jul. 2011.

FIELD OF THE INVENTION

The present invention relates to fast channel change using an aggregatedvideo.

BACKGROUND OF THE INVENTION

By way of introduction, changing from one TV channel to anothergenerally involves a long delay due to factors such as tuning,decrypting and decoding of the newly selected channel. One factorinvolved during decoding is waiting for a random access point in theselected TV channel to arrive.

The following references are also believed to represent the state of theart:

Korean Published Patent Application 2007/0002722 of Samsung electronicCo. Ltd.;

US Published Patent Application 2007/0171306 of Lowet, et al.;

US Published Patent Application 2008/0109557A1 Joshi, et al.;

US Published Patent Application 2009/0322962 Weeks;

US Published Patent Application 2009/245393 of Stein, et al.;

US Published Patent Application 20100046634A1 Dai, et al.;

U.S. Pat. No. 5,724,091 to Freeman;

U.S. Pat. No. 7,733,423 to Ruckriem; and

PCT Published Patent Application WO 2005/122688 of NDS Limited.

SUMMARY OF THE INVENTION

The present invention, in certain embodiments thereof, seeks to providean improved channel change system. The system makes use of an aggregatedvideo service during channel change.

At a broadcaster Headend, each TV channel is prepared as a separate TVchannel or service. Additionally, an aggregated video service isprepared. The aggregated video service includes video data of some, orall, of the TV channels, the data typically being scaled down, so thateach video frame of the aggregated video service includes video datafrom each TV channel included in the aggregated video service. Theindividual frames may be arranged in any suitable manner, for example,but not limited to, a picture mosaic or in strips of video data.

The separate TV channels and the video data of the aggregated videoservice are typically broadcast or multicast to a plurality ofsubscriber devices using one or more transport streams.

The aggregated video service is received and buffered continuously bythe subscriber rendering devices. Therefore, when a subscriber wants tochange TV channel, video data for the selected TV channel is extractedfrom the aggregated video service and used until the selected TV channelis ready for decoding. In this way channel change time can be reducedsignificantly, by about 1 second or more from about 2 or 2.5 seconds.The interim video extracted from the aggregated video service willtypically have a lower quality than the separate TV channel. However,the temporary lower quality video is generally more acceptable toviewers than a longer delay between channel changes.

There is thus provided in accordance with an embodiment of the presentinvention, a fast channel change system including a tuner arrangement toreceive at least one transport stream including an aggregated videoservice and a plurality of TV channels, each of the TV channelsincluding video data, the aggregated video service including a pluralityof video frames, each of the video frames of the aggregated videoservice including some of the video data of each of the TV channels, theTV channels including a first TV channel and a second TV channel, ademultiplexer arrangement to demultiplex the first TV channel and theaggregated video service from the at least one transport stream, a fastchannel change buffer to buffer the video frames of the aggregated videoservice, the aggregated video service including a plurality of randomaccess points, the fast channel change buffer being operative to buffera latest one of the random access points and any of the video framesdependent upon the latest random access point for decoding purposes, andpurge from the fast channel change buffer the video frames which areolder than the latest random access point, a decoder arrangementincluding at least one decoder and at least one decoder buffer, thedecoder arrangement being operative to decode the video data of thefirst TV channel, a controller to receive a channel change command froma subscriber to change channels from the first TV channel to the secondTV channel, the controller being operative to instruct the decoderarrangement to switch from decoding the video data of the first TVchannel to decoding the video frames of the aggregated video servicefrom the fast channel change buffer yielding a plurality of decodedvideo frames, and a graphic engine to extract the video data of thesecond TV channel from the decoded video frames of the aggregated videoservice yielding a full-screen video of the extracted video data of thesecond TV channel, and output the full-screen video to a display devicefor display, wherein the controller is operative to instruct thedemultiplexer arrangement to demultiplex the second TV channel from theat least one transport stream, and instruct the decoder arrangement toswitch from decoding the video frames of the aggregated video service todecoding the video data of the second TV channel.

Further in accordance with an embodiment of the present invention, eachof the video frames of the aggregated video services is formatted as amosaic.

Still further in accordance with an embodiment of the present invention,the controller is operative to query the fast channel change buffer toascertain a video frame X having the latest presentation time stamp ofthe video frames in the fast channel change buffer, instruct the decoderarrangement to fast forward from the latest random access point in thefast channel change buffer to frame X+1 of the frames in the fastchannel change buffer, the frame X+1 being the frame to be presentedafter frame X, wherein the frames in the fast channel change bufferuntil, but not including, frame X+1 are decoded, but are not outputtedto the graphic engine, and instruct the decoder arrangement to decodethe frame X+1 and subsequent frames to frame X+1 at real-time speed andfor output to the graphic engine.

Additionally in accordance with an embodiment of the present invention,the system includes a new channel buffer to buffer the video data of thesecond TV channel, wherein the controller is operative to instruct thedecoder arrangement to switch from decoding the video frames of theaggregated video service to decoding the video data of the second TVchannel from the new channel buffer.

Moreover in accordance with an embodiment of the present invention, thevideo data of the second TV channel extracted from the decoded videoframes of the aggregated video service is of a lower picture qualitythan the video data of the second TV channel which is not received aspart of the aggregated video service.

Further in accordance with an embodiment of the present invention, thegraphic engine is operative to crop and enlarge the video data of thesecond TV channel extracted from the decoded video frames of theaggregated video service yielding the full-screen video.

Still further in accordance with an embodiment of the present invention,the graphic engine is operative to change the aspect ratio of the videodata of the second TV channel extracted from the aggregated videoservice.

Additionally in accordance with an embodiment of the present invention,the system includes a security module to create a control word fordecrypting the video frames of the aggregated video service if thesubscriber is subscribed to any of the TV channels included in theaggregated video service, and a decryption engine to decrypt the videoframes of the aggregated video service based on the control word.

Moreover in accordance with an embodiment of the present invention, thedemultiplexer arrangement is operative to filter an entitlement controlmessage which includes information for creating the control word.

Further in accordance with an embodiment of the present invention, thecontroller is operative to send a query, upon receiving the channelchange command from the subscriber to change channels from the first TVchannel to the second TV channel, to the security module whether thesubscriber has access to the second TV channel, and the security moduleis operative to check whether the subscriber has access, and send asuitable response to the controller.

There is also provided in accordance with still another embodiment ofthe present invention, a fast channel change method including receivingat least one transport stream including an aggregated video service anda plurality of TV channels, each of the TV channels including videodata, the aggregated video service including a plurality of videoframes, each of the video frames of the aggregated video serviceincluding some of the video data of each of the TV channels, the TVchannels including a first TV channel and a second TV channel,demultiplexing the first TV channel and the aggregated video servicefrom the at least one transport stream, buffering the video frames ofthe aggregated video service, the aggregated video service including aplurality of random access points, wherein the buffering includesbuffering a latest one of the random access points and any of the videoframes dependent upon the latest random access point for decodingpurposes, and purging the video frames which are older than the latestrandom access point, decoding the video data of the first TV channel,receiving a channel change command from a subscriber to change channelsfrom the first TV channel to the second TV channel, then switching fromdecoding the video data of the first TV channel to decoding the bufferedvideo frames of the aggregated video service yielding a plurality ofdecoded video frames, extracting the video data of the second TV channelfrom the decoded video frames of the aggregated video service yielding afull-screen video of the extracted video data of the second TV channel,outputting the full-screen video to a display device for display,demultiplexing the second TV channel from the at least one transportstream, and switching from decoding the video frames of the aggregatedvideo service to decoding the video data of the second TV channel.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be understood and appreciated more fully fromthe following detailed description, taken in conjunction with thedrawings in which:

FIG. 1 is a partly pictorial, partly block diagram view of a fastchannel change system constructed and operative in accordance with anembodiment of the present invention;

FIG. 2 is a partly pictorial, partly block diagram view of aggregationof TV channel video data in the system of FIG. 1;

FIG. 3 is a partly pictorial, partly block diagram view of processing ofincoming video data prior to a channel change in the system of FIG. 1;

FIG. 4 is a partly pictorial, partly block diagram view of processing ofvideo data during a first stage of channel change in the system of FIG.1; and

FIG. 5 is a partly pictorial, partly block diagram view of processing ofvideo data during a second stage of channel change in the system of FIG.1.

DETAILED DESCRIPTION OF AN EMBODIMENT

The term “encoded” is used throughout the present specification andclaims, in all of its grammatical forms, to refer to any type of datastream encoding including, for example and without limiting the scope ofthe definition, well known types of encoding such as, but not limitedto, MPEG-2 encoding, H.264 encoding, VC-1 encoding, and syntheticencodings such as Scalable Vector Graphics (SVG) and LASER (ISO/IEC14496-20), and so forth. It is appreciated that an encoded data streamgenerally requires more processing and typically more time to read thana data stream which is not encoded. Any recipient of encoded data,whether or not the recipient of the encoded data is the intendedrecipient, is, at least in potential, able to read encoded data withoutrequiring cryptanalysis. It is appreciated that encoding may beperformed in several stages and may include a number of differentprocesses, including, but not necessarily limited to: compressing thedata; transforming the data into other forms; and making the data morerobust (for instance replicating the data or using error correctionmechanisms).

The term “compressed” is used throughout the present specification andclaims, in all of its grammatical forms, to refer to any type of datastream compression. Compression is typically a part of encoding and mayinclude image compression and motion compensation. Typically,compression of data reduces the number of bits comprising the data. Inthat compression is a subset of encoding, the terms “encoded” and“compressed”, in all of their grammatical forms, are often usedinterchangeably throughout the present specification and claims.

Similarly, the terms “decoded” and “decompressed” are used throughoutthe present specification and claims, in all their grammatical forms, torefer to the reverse of “encoded” and “compressed” in all theirgrammatical forms.

The terms “scrambled” and “encrypted”, in all of their grammaticalforms, are used interchangeably throughout the present specification andclaims to refer to any appropriate scrambling and/or encryption methodsfor scrambling and/or encrypting a data stream, and/or any otherappropriate method for intending to make a data stream unintelligibleexcept to an intended recipient(s) thereof. Well known types ofscrambling or encrypting include, but are not limited to DES, 3DES, andAES. Similarly, the terms “descrambled” and “decrypted” are usedthroughout the present specification and claims, in all theirgrammatical forms, to refer to the reverse of “scrambled” and“encrypted” in all their grammatical forms.

Pursuant to the above definitions, the terms “encoded”; “compressed”;and the terms “scrambled” and “encrypted” are used to refer to differentand exclusive types of processing. Thus, a particular data stream maybe, for example:

-   -   encoded, but neither scrambled nor encrypted;    -   compressed, but neither scrambled nor encrypted;    -   scrambled or encrypted, but not encoded;    -   scrambled or encrypted, but not compressed;    -   encoded, and scrambled or encrypted; or    -   compressed, and scrambled or encrypted.

Likewise, the terms “decoded” and “decompressed” on the one hand, andthe terms “descrambled” and “decrypted” on the other hand, are used torefer to different and exclusive types of processing.

Reference is now made to FIG. 1, which is a partly pictorial, partlyblock diagram view of a fast channel change system 10 constructed andoperative in accordance with an embodiment of the present invention.

The system 10 typically includes a broadcaster Headend 14 and aplurality of subscriber rendering devices 12 (only one is shown for thesake of simplicity). It will be appreciated by those ordinarily skilledin the art that any suitable rendering device may be used such as aset-top box or a suitably configured computer. The rendering devices 12may be wired devices or wireless mobile devices.

At the Headend 14, each TV channel is prepared as a separate TV channelor service 18 sometimes referred to herein as a regular TV channel 18.Additionally, an aggregated video service 16 is prepared. The aggregatedvideo service 16 includes video data of some, or all, of the TV channels18, the data typically being scaled down, so that each video frame ofthe aggregated video service 16 includes the video data from each TVchannel 18 included in the aggregated video service 16.

The regular TV channels 18 and the video data of the aggregated videoservice 16 are typically broadcast or multicast to the rendering devices12 using one or more transport streams 20. For example, channels 1-18may be transmitted on one transport stream 20 with the aggregated videoservice 16 and channels 19-40 may be transmitted on another transportstream 20. Alternatively, all the channels may be transmitted on thesame transport stream 20 or any suitable combination of transportstreams 20.

FIG. 1 shows the transport streams 20 being broadcast via a satellitecommunication system. However, it will be appreciated by thoseordinarily skilled in the art that the transport streams 20 may betransmitted via any suitable communication system, for example, but notlimited to, cable, cellular, Internet Protocol, Terrestrial or anysuitable combination thereof.

The aggregated video service 16 is received and buffered continuously bythe subscriber rendering devices 12. Therefore, when a subscriber 22wants to change TV channel, the buffered aggregated video service 16 isdecoded and video data for the selected TV channel is extracted from thedecoded video (typically including cropping and enlarging). The lowerquality video of the selected channel extracted from the aggregatedvideo service 16 is then displayed to the subscriber 22 until theselected higher quality regular TV channel 18 is ready for decoding. Inthis way channel change time can be reduced significantly, by about 1second or more from about 2 or 2.5 seconds. The interim video extractedfrom the aggregated video service 16 will typically have a lower qualitythan the regular TV channel 18. However, the temporary lower qualityvideo is generally more acceptable to viewers than a longer delaybetween channel changes.

Reference is now made to FIG. 2, which is a partly pictorial, partlyblock diagram view of aggregation of TV channel video data in the system10 of FIG. 1.

The content for each of the TV channels 18 is typically received from acontent provider (not shown). If the content is received in an encodedformat, the content is first decoded.

The Headend 14 includes a plurality of TV channel encoders 24, one foreach regular TV channel 18. Each encoder 24 typically encodes one of theregular TV channels 18.

The Headend 14 also includes an aggregator 26 and another encoder 28.The aggregator 26 receives the content of each of the TV channel 18 andsuitably scales each of the TV channels 18 in order to create theaggregated video service 16. As described above, each video frame 70 inthe aggregated video service 16 includes some, or all, of the TVchannels 18. If TV channels 18 are not included in the aggregated videoservice 16, then channel change to one of those non-included TV channels18 will be unable to benefit from fast channel change using theaggregated video service 16.

The aggregated video service 16 is then encoded using the encoder 28.

The Headend 14 also includes one or more multiplexers 30 which aggregatethe encoded video into the transport streams 20 and typically alsoencrypt the encoded video. It should be noted that the aggregated videoservice 16 may be duplicated in one or more of the transport streams 20.The multiplexers 30 typically also multiplex conditional access data inthe transport streams 20 so that all security issues are resolved. Fromthe multiplexers 30, the transport streams 20 are transmitted to therendering devices 12 (FIG. 1).

The aggregator 26 will now be described in more detail.

As described above, the video of each of the TV channels 18 is typicallyreduced in size and inserted into the aggregated video service 16. Thevideo of each TV channel 18 may be treated the same or differently bythe aggregator 26. For example, one video may be reduced more thananother video. Additionally, videos may be scaled proportionally,maintaining the aspect ratio. Alternatively, videos may be scaledwithout maintaining the aspect ratio. In many cases, it may beconvenient to process the videos to be multiples of 16 pixels.

The individual frames 70 of the aggregated video service 16 may bearranged in any suitable manner, for example, but not limited to, apicture mosaic or in strips of video data. The video data of the TVchannels 18 may also be broken up into two or more segments which may betreated differently from each other in terms of image reduction andmaintaining aspect ratio or not. The different parts of the same TVchannel 18 may also not be disposed adjacent to each other in the frames70 of the aggregated video service 16. The segmenting and scaling istypically performed to maximize compression, as well as paying attentionto important parts of the video such as people or the centre of thevideo. So for example, important parts of the video may be scaled lessthan other less important parts of the video.

The frame size in the aggregated video service 16 may be larger than theframe size in the TV channel 18. The frame size of the aggregated videoservice 16 is typically limited by the encoding capabilities of theencoder 28 and the decoding capabilities of the rendering devices 12(FIG. 1).

The frame rate of the aggregated video service 16 may be less than theframe rate of the TV channels 18, for example, but not limited to, 15frames per second, in order to reduce the bandwidth requirements of theaggregated video service 16 and/or to include more TV channels 18 in theaggregated video service 16 and/or to increase the video quality of theaggregated video service 16.

The aggregated video service 16 typically includes high resolutionvideo. However, it will be appreciated by those ordinarily skilled inthe art that any suitable resolution may be used. The resolution of thepictures in the aggregated video service 16 is also the maximum decodingresolution.

The blurriness level of the aggregated video service 16 is typically afunction of the encoding quality, frame rate and the video resolution ofthe aggregated video service 16.

It should be noted that the aggregated video service 16 is typicallybetter than using a low resolution stream for each TV channel 18 ascombining several videos from different TV channels 18 into theaggregated video service 16 leads to better compression of each of thepictures in the aggregated video service 16 and therefore better qualityon scaling up.

It should be noted that aggregating the TV channels 18 into theaggregated video service 16 generally takes a longer time than simplyencoding the individual regular TV channels 18. Therefore, the videoincluded in the aggregated video service 16 may be delayed with respectto the presentation time of the regular TV channels 18 broadcast at thesame time as the aggregated video service 16. This may happen forexample if the TV channels 18 are received from the content providerstoo close to the time that the TV channels 18 need to be broadcast. Itmay be possible to introduce a delay in the Headend 14 in order tocorrect the misalignment of the regular TV channels 18 and theaggregated video service 16 by using some appropriate buffering of theregular TV channels 18 in the Headend 14. However, this may beunacceptable to some content providers and/or broadcasters.

Reference is now made to FIG. 3, which is a partly pictorial, partlyblock diagram view of processing of incoming video data prior to achannel change in the system 10 of FIG. 1.

The rendering device 12 includes: a tuner arrangement including twotuners 32 (tuner A and tuner B); a demultiplexer arrangement includingtwo demultiplexers 34 (demux A and demux B); a decryption arrangementincluding two decryption engines 36 (decrypt A and decrypt B); a fastchannel change buffer 38, a decoder buffer 40, a decoder arrangementincluding a decoder 42, a graphic engine 44, a controller 46 and asecurity module 48. The rendering device 12 is typically operationallyconnected to a display device 50, for example, but not limited to, a TVscreen, a computer screen, and a projector and screen arrangement.

The subscriber 22 (FIG. 1) is currently viewing regular channel 1 on thedisplay device 50. Tuner B tunes to the transport stream 20 includingregular channel 1. The transport stream 20 including TV channel 1 isdemultiplexed by demux B. An entitlement control message 52 needed toprovide access to channel 1 is filtered by demux B. The entitlementcontrol message 52 is transferred to the security module 48. Thesecurity module 48 has previously received a plurality of entitlementmanagement messages 54 which describe the subscription limits of thesubscriber 22, for example, which services or channels the subscriber 22is entitled to view. The security module 48 may be wholly or partiallyembodied in a removable security element such as a smart card. Thereceived entitlement control message 52 is processed by the securitymodule 48 with the entitlement management message 54 for regular channel1, thereby producing a control word 56 which is passed to the decryptionengine 36 (decrypt B) for decrypting the encrypted video data of regularTV channel 1 yielding decrypted video 58. The decrypted video 58 is thenbuffered by the decoder buffer 40, decoded by the decoder 42. Thedecoded video is then typically outputted for display on the displaydevice 50. The graphic engine 44 may be used to produce on-screendisplays or other desired graphics.

At the same time, tuner A is tuned to another transport stream 20 whichincludes the aggregated video service 16. The aggregated video service16 is demultiplexed by demux A. An entitlement control message 60 neededto provide access to the aggregated video service 16 is filtered bydemux A. The entitlement control message 60 is transferred to thesecurity module 48. If the subscriber 22 is subscribed to any of thechannels aggregated into the aggregated video service 16, the decryptionengine 36 (decrypt A) is given a control word 62 to decrypt all thecontent of the aggregated video service 16 (including channels 18 towhich the subscriber 22 is not subscribed). The received entitlementcontrol message 60 is processed by the security module 48 with one ormore of the entitlement management messages 54, or by checking to see ifthe subscriber 22 has subscribed to one of the TV channels 18 in theaggregated video service 16, and thereby produces a control word 62which is passed to the decryption engine 36 (decrypt A) for decryptingthe encrypted video data of the aggregated video service 16 yieldingdecrypted video 64. The decrypted video 64 is then buffered by the fastchannel change buffer 38. The decrypted video 64 includes a plurality ofvideo frames 68. Some of the video frames 68 are random access points66. The random access points 66 may be an I-frame or IDR frame.

The decrypted video 64 of the aggregated video service 16 is buffered sothat a latest random access point 66 is stored in the fast channelchange buffer 38 as well as the video frames 68 dependent (for decodingpurposes) on the latest random access point 66. Older random accesspoints 66 and video frames 68 dependent upon those older random accesspoints 66 can be purged from the buffer. In other words, the fastchannel change buffer 38 stores video frames 68 until the next randomaccess point 66 is received in the fast channel change buffer 38. Then,the fast channel change buffer 38 is purged of all data up to the latestrandom access point 66 and buffering then restarts from the latestrandom access point 66. This buffering operation enables the decoder 42,upon switching, to decode the aggregated video service 16 with minimaldelay.

The controller 46 typically instructs: the tuners 32 which transportstream 20 to tune to; the demultiplexers 34 which packets to filter; thedecoder buffer 40 whether to take packets from the fast channel changebuffer 38 or packets originating from decrypt B; and the decoder 42 todecode at a particular speed. Additional functions of the controller 46are described in more detail with reference to FIGS. 4 and 5.

It should be noted that the demultiplexers 34, the decryption engines36, the fast channel change buffer 38, the decoder buffer 40, thedecoder 42, the graphic engine 44 and the controller 46 are typicallypart of a secure chip. Therefore, video data of channels 18 from thedecrypted video 64 of the aggregated video service 16 not subscribed toby the subscriber 22 are typically not available viewing by thesubscriber, as will be described in more detail below.

Reference is now made to FIG. 4, which is a partly pictorial, partlyblock diagram view of processing of video data during a first stage ofchannel change in the system 10 of FIG. 1.

The subscriber 22 (FIG. 1) decides to change channel from “channel 1” to“channel 2”. The subscriber 22 makes a selection, typically using aremote control 72 (FIG. 1). The remote control 72 sends a signal to therendering device 12 (FIG. 1) which is recognized by the controller 46 asa channel change command 74 to change channels to the selected channel(“channel 2”).

The controller 46 starts two processes at substantially the same time.One process is to decode video data from the fast channel change buffer38 in order to extract the lower quality version of the selected channel(“channel 2”) and the other process is to tune (if necessary),demultiplex, and decrypt the higher quality regular selected channel(“channel 2”).

The controller 46 checks whether the subscriber 22 has access to theselected channel by sending a query 84 to the security module 48. Thesecurity module 48 may check for access against the entitlementmanagement message 54 and then send a suitable response to thecontroller 46. In an embodiment of the present invention, specialentitlement control messages 86 (FECMs) are sent in the transport stream20 with the aggregated video service 16. There is typically oneentitlement control message 86 for each of the channels 18 included inthe aggregated video service 16. The demultiplexer 34 (demux A)typically filters the entitlement control messages 86 and sends them tothe controller 46. Each entitlement control message 86 may also includedata as to the location of each channel 18 in the frames 70 of theaggregated video service 16. The query 84 typically includes sending theentitlement control message 86 for the selected channel to the securitymodule 48 which prepares a suitable response based on one or more of theentitlement management messages 54.

If access to the selected channel was approved by the security module48, the channel change process continues. If access to the selectedchannel was denied by the security module 48, the controller 46instructs the graphic engine 44 to prepare an on-screen displayinforming the subscriber 22 (FIG. 1) that access to the selected channelhas been denied.

The fast channel change buffer 38 is queried by the controller 46 toascertain the video frame 68, frame X (block 88) having the latestpresentation time stamp (the presentation timestamp having the latesttime) or equivalent timecode in the fast channel change buffer 38. Thisinformation is used by the controller 46 to ensure a seamless splice tothe video of the higher quality regular selected channel (“channel 2”).

The controller 46 then instructs the decoder buffer 40 to: flush thestored content from the decoder buffer 40; and take input from the fastchannel change buffer 38 (block 90).

The controller 46 then instructs the decoder 42 to fast forward from therandom access point 66 to frame X+1 (i.e. the frame to be presentedafter frame X) (block 92). The frames until (not including) frame X+1are only decoded, but are not outputted for display.

The controller 46 also instructs the decoder 42 to then decode frame X+1and subsequent frames (according to presentation time) at real-timespeed and output the decoded frames 70 (frame X+1 and the subsequentframes) to the graphic engine 44 for further processing prior todisplay.

The above fast forward operation needs to be performed quicker than thepresentation time between two adjacent frames. If the decoder 42 isunable to fast forward at this speed, or quicker, or if the video of theTV channels 18 of the aggregated video service 16 are delayed withrespect to the regular TV channels 18 sent separately (as discussedabove with reference to FIG. 2), then: (1) the controller 46 does notperform the query of the fast channel change buffer 38 to ascertainframe X; and (2) the controller instructs the decoder 42 to decode thevideo frames 68 from the random access point 66 at real-time speed andoutput all the resulting decoded frames 70 to the graphic engine 44 forfurther processing.

It should be noted that the decoding operation fully decodes each of thevideo frames 68 so that the decoded frames 70 include video data ofchannels not selected by the user.

The graphic engine 44 receives the frames 70 from the decoder 42. Thecontroller 46 instructs the graphic engine 44 to extract the video ofthe selected channel (“channel 2”) from the frames 70 for display as afull-screen video (block 94) typically involving cropping, enlarging andpossibly changing aspect ratios of the video extracted from the frames70 and possibly applying image filters (for example, but not limited to,a deblocking filter) that improve the scaling quality. The informationidentifying the location of the video of the selected channel (“channel2”) in the frames 70, as well as scaling factors, is typically includedin the entitlement control message 86 for the selected channel (“channel2”) received with the aggregated video service 16. The informationidentifying the location of the video, and the scaling factors, couldalso be included in any suitable table, for example, but not limited to,a program map table (PMT) or any suitable private table.

The graphic engine 44 outputs the full-screen (lower quality) version ofthe selected channel (“channel 2”) which was extracted from theaggregated video service 16 to the display device 50.

It should be noted that the functionality of the graphic engine 44 maybe incorporated into the decoder 42. Additionally, any of the elementsof the system 10 may be combined or separated as appropriate.

Typically, at substantially, the same time that the above processing ofthe aggregated video service 16 takes place, the controller 46 instructsthe tuner 32 (tuner B) to tune to the transport stream 20 which includesthe regular selected channel (“channel 2”) unless the tuner 32 (tuner B)is already tuned to the correct transport stream 20. The controller 46instructs the demultiplexer 34 (demux B) to filter the packets for theregular selected channel (“channel 2”) and an entitlement controlmessage 76 for the regular selected channel (“channel 2”). Thecontroller 46 instructs the demultiplexer 34 (demux B) to send theentitlement control message 76 to the security module 48. The securitymodule 48 prepares a control word 78 based on the received entitlementcontrol message 76 and one or more of the entitlement management message54 resident in the security module 48. The control word 78 is sent bythe security module 48 to decryption engine 36 (decrypt B) whichdecrypts the encrypted video data of the regular selected channel(“channel 2”) yielding decrypted video 80.

If the fast forward operation is not performed (for example due to thedelay in preparing the aggregated video service 16 or the decoder 42 notbeing fast enough), the controller 46 instructs the decryption engine 36(decrypt B) to record the decrypted video 80 in a new channel buffer 82starting from a first random access point 96 received for the regularselected channel (“channel 2”).

If the fast forward operation is performed, then recording to the newchannel buffer 82 is generally not necessary as will be explained inmore detail with reference to FIG. 5.

Reference is now made to FIG. 5, which is a partly pictorial, partlyblock diagram view of processing of video data during a second stage ofchannel change in the system 10 of FIG. 1.

If the fast forward operation described with reference to FIG. 4 isperformed, then once the decryption engine 36 (decrypt B) starts todecrypt the first random access point in the high quality video of theregular selected channel (or optionally once the demultiplexer 34 (demuxB) identifies the first random access point), the controller 46instructs the decoder buffer 40 to start taking input from the output ofthe decryption engine 36 (decrypt B) (dotted line 98) and not from thefast channel change buffer 38. The controller 46 also instructs thegraphic engine 44 not to perform any cropping or enlarging operations onthe output from the decoder 42, after a certain time delay (taking intoaccount the frames 68 still being processed by the decoder 42 and thegraphic engine 44).

If the fast forward operation described with reference to FIG. 4 is notperformed and the decrypted video 80 is recorded in the new channelbuffer 82, then after the last frame 68 before the next random accesspoint 66 is read from the fast channel change buffer 38 (tracked by thecontroller 46), the controller 46 instructs the decoder buffer 40 toswitch to taking data from the new channel buffer 82 starting with thefirst random access point 96 instead of from the fast channel changebuffer 38 (dotted line 100). If for some reason there is not enough datain the new channel buffer 82 to begin decoding of the decrypted video80, then the switch from the fast channel change buffer 38 may need totake place just before a subsequent random access point 66. It should benoted that the regular newly selected channel will continually bedecrypted into the new channel buffer 82 so that the display of thenewly selected channel is always delayed. It will be appreciated bythose ordinarily skilled in the art that the regular newly selectedchannel could be decoded at slightly faster than real-time in order tocatch up to “live”. The controller 46 also instructs the graphic engine44 not to performing any cropping or enlarging operations on the outputfrom the decoder 42, after a certain time delay (taking into account theframes 68 still being processed by the decoder 42 and the graphic engine44).

The decoded higher quality video of the selected channel is outputted tothe display device 50 for display.

Handling of audio during channel change is now described.

Upon channel change, for TV channels 18 included in the same transportstream 20 as the aggregated video service 16, the audio for the selectedchannel may be extracted from the audio of the regular TV channel 18.

However, if TV channels 18 are not included in the same transport stream20 as the aggregated video service 16, then the audio for the selectedchannels needs to be included in the same transport stream 20 as theaggregated video service 16. The audio included in the same transportstream 20 as the aggregated video service 16 may be restricted to one ortwo languages and/or a lower quality.

The rendering device 12 may include more than one decoder 42, forexample, using one decoder 42 for decoding the aggregated video service16 and another decoder 42 for decoding the selected higher qualityregular TV channels 18. In such a case, the aggregated video service 16may also be continuously decoded for more instant availability. However,in such a case, the controller 46 will generally need to keep track ofthe presentation timestamps of the frames 68 entering the decoder buffer40 so that the controller 46 can ensure a seamless splice with theactual higher quality video of the regular selected channel.

If the aggregated video service 16 and the regular TV channel 18included in the aggregated video service 16 are all included within thesame transport stream 20, the rendering device 12 may provide the fastchannel change functionality using a single tuner 32, a singledemultiplexer 34, and a single decryption engine 36.

In practice, some or all of the above described functions may becombined in a single physical component or, alternatively, implementedusing multiple physical components. These physical components maycomprise hard-wired or programmable devices, or a combination of thetwo. In some embodiments, at least some of the functions of theprocessing circuitry may be carried out by a programmable processorunder the control of suitable software. This software may be downloadedto subscriber rendering devices in electronic form, over a network, forexample. Alternatively or additionally, the software may be stored intangible, non-transitory computer-readable storage media, such asoptical, magnetic, or electronic memory.

It is appreciated that software components of the present invention may,if desired, be implemented in ROM (read only memory) form. The softwarecomponents may, generally, be implemented in hardware, if desired, usingconventional techniques. It is further appreciated that the softwarecomponents may be instantiated, for example, as a computer programproduct; on a tangible medium; or as a signal interpretable by anappropriate computer.

It will be appreciated that various features of the invention which are,for clarity, described in the contexts of separate embodiments may alsobe provided in combination in a single embodiment. Conversely, variousfeatures of the invention which are, for brevity, described in thecontext of a single embodiment may also be provided separately or in anysuitable sub-combination.

It will be appreciated by persons skilled in the art that the presentinvention is not limited by what has been particularly shown anddescribed hereinabove. Rather the scope of the invention is defined bythe appended claims and equivalents thereof.

What is claimed is:
 1. A fast channel change system comprising: a tunerarrangement to receive at least one transport stream including anaggregated video service and a plurality of TV channels, each of the TVchannels including video data, the aggregated video service including aplurality of video frames, each of the video frames of the aggregatedvideo service including some of the video data of each of the TVchannels, the TV channels including a first TV channel and a second TVchannel; a demultiplexer arrangement to demultiplex the first TV channeland the aggregated video service from the at least one transport stream;a fast channel change buffer to buffer the video frames of theaggregated video service, the aggregated video service including aplurality of random access points, the fast channel change buffer beingoperative to: buffer a latest one of the random access points and any ofthe video frames dependent upon the latest random access point fordecoding purposes; and purge from the fast channel change buffer thevideo frames which are older than the latest random access point; adecoder arrangement including at least one decoder and at least onedecoder buffer, the decoder arrangement being operative to decode thevideo data of the first TV channel; a controller to receive a channelchange command from a subscriber to change channels from the first TVchannel to the second TV channel, the controller being operative toinstruct the decoder arrangement, on receipt of the channel changecommand, to switch from decoding the video data of the first TV channelto decoding the video frames of the aggregated video service from thefast channel change buffer yielding a plurality of decoded video frames;and a graphic engine to: extract the video data of the second TV channelfrom the decoded video frames of the aggregated video service yielding afull-screen video of the extracted video data of the second TV channel;and output the full-screen video to a display device for display,wherein the controller is operative to: instruct the demultiplexerarrangement to demultiplex the second TV channel from the at least onetransport stream; and instruct the decoder arrangement to switch fromdecoding the video frames of the aggregated video service to decodingthe video data of the second TV channel.
 2. The system according toclaim 1, wherein each of the video frames of the aggregated videoservices is formatted as a mosaic.
 3. The system according to claim 1,wherein the controller is operative to: query the fast channel changebuffer to ascertain a video frame X having the latest presentation timestamp of the video frames in the fast channel change buffer; instructthe decoder arrangement to fast forward from the latest random accesspoint in the fast channel change buffer to frame X+1 of the frames inthe fast channel change buffer, the frame X+1 being the frame to bepresented after frame X, wherein the frames in the fast channel changebuffer until, but not including, frame X+1 are decoded, but are notoutputted to the graphic engine; and instruct the decoder arrangement todecode the frame X+1 and subsequent frames to frame X+1 at real-timespeed and for output to the graphic engine.
 4. The system according toclaim 1, further comprising a new channel buffer to buffer the videodata of the second TV channel, wherein the controller is operative toinstruct the decoder arrangement to switch from decoding the videoframes of the aggregated video service to decoding the video data of thesecond TV channel from the new channel buffer.
 5. The system accordingto claim 1, wherein the video data of the second TV channel extractedfrom the decoded video frames of the aggregated video service is of alower picture quality than the video data of the second TV channel whichis not received as part of the aggregated video service.
 6. The systemaccording to claim 1, wherein the graphic engine is operative to cropand enlarge the video data of the second TV channel extracted from thedecoded video frames of the aggregated video service yielding thefull-screen video.
 7. The system according to claim 6, wherein thegraphic engine is operative to change the aspect ratio of the video dataof the second TV channel extracted from the aggregated video service. 8.The system according to claim 1, further comprising: a security moduleto create a control word for decrypting the video frames of theaggregated video service if the subscriber is subscribed to any of theTV channels included in the aggregated video service; and a decryptionengine to decrypt the video frames of the aggregated video service basedon the control word.
 9. The system according to claim 8, wherein thedemultiplexer arrangement is operative to filter an entitlement controlmessage which includes information for creating the control word. 10.The system according to claim 8, wherein: the controller is operative tosend a query, upon receiving the channel change command from thesubscriber to change channels from the first TV channel to the second TVchannel, to the security module whether the subscriber has access to thesecond TV channel; and the security module is operative to: checkwhether the subscriber has access; and send a suitable response to thecontroller.
 11. A fast channel change method comprising: receiving atleast one transport stream including an aggregated video service and aplurality of TV channels, each of the TV channels including video data,the aggregated video service including a plurality of video frames, eachof the video frames of the aggregated video service including some ofthe video data of each of the TV channels, the TV channels including afirst TV channel and a second TV channel; demultiplexing the first TVchannel and the aggregated video service from the at least one transportstream; buffering the video frames of the aggregated video service, theaggregated video service including a plurality of random access points;wherein the buffering includes buffering a latest one of the randomaccess points and any of the video frames dependent upon the latestrandom access point for decoding purposes; and purging the video frameswhich are older than the latest random access point; decoding the videodata of the first TV channel; receiving a channel change command from asubscriber to change channels from the first TV channel to the second TVchannel; then on receipt of the channel change command, switching fromdecoding the video data of the first TV channel to decoding the bufferedvideo frames of the aggregated video service yielding a plurality ofdecoded video frames; extracting the video data of the second TV channelfrom the decoded video frames of the aggregated video service yielding afull-screen video of the extracted video data of the second TV channel;outputting the full-screen video to a display device for display;demultiplexing the second TV channel from the at least one transportstream; and switching from decoding the video frames of the aggregatedvideo service to decoding the video data of the second TV channel.